package com.qidianit.mes.pojo.pro;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 工序步骤实体类
 * 对应数据库表：process_step
 */
@Data  // Lombok注解，自动生成getter、setter、toString等方法
@AllArgsConstructor
@NoArgsConstructor
public class ProcessStep {

    /**
     * 工序步骤ID
     * 主键，自增
     */
    private Integer id;

    /**
     * 工序编号
     * 关联到工序表的主键
     */
    private Integer processId;

    /**
     * 步骤顺序
     * 标识步骤在工序中的执行顺序
     */
    private Integer stepOrder;

    /**
     * 材料URL
     * 存储材料相关文档的网络地址
     */
    private String materialUrl;

    /**
     * 辅助设备
     * 该步骤所需的辅助设备名称
     */
    private String auxiliaryEquipment;

    /**
     * 辅助材料
     * 该步骤所需的辅助材料，多个用逗号分隔
     */
    private String auxiliaryMaterials;

    /**
     * 步骤描述
     * 详细说明该步骤的操作内容和要求
     */
    private String stepDescription;

    /**
     * 备注信息
     * 存储该步骤的额外说明或注意事项
     */
    private String remarks;

    /**
     * 创建时间
     * 记录创建时的时间戳
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime createTime;

    /**
     * 创建人ID
     * 记录创建者的用户ID
     */
    private Integer creatorId;

    /**
     * 更新时间
     * 记录最后一次更新时的时间戳
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime updateTime;

    /**
     * 修改人ID
     * 记录最后一次更新者的用户ID
     */
    private Integer modifierId;

    /**
     * 是否删除
     * 逻辑删除标识：0-未删除，1-已删除
     */
    private Integer isDeleted;
}
